package example.core.springcontext;

import com.aliyun.fc.runtime.Context;
import example.core.log.DefaultLogImpl;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

/**
 * 全局spring context。
 * @author 王振宇
 */
public class ApplicationContextUtil {
    public static AnnotationConfigApplicationContext applicationContext;

    /**
     * 初始化Spring框架。
     */
    public static void initSpring(Context context, String... basePackages) {
        // 使用注解方式 配置spring框架
        AnnotationConfigApplicationContext annotationConfigApplicationContext = new AnnotationConfigApplicationContext(basePackages);
        ApplicationContextUtil.applicationContext = annotationConfigApplicationContext;
        // 设置函数计算SDK日志输出方式
        DefaultLogImpl.functionComputeLogger = context.getLogger();
    }
}
